home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tex / style / misc / a4lett.sty < prev    next >
Text File  |  1995-11-25  |  12KB  |  356 lines

  1. % This is A4LETTER.STY in text format, as of Sep 7, 1987.
  2. % letter.sty 17-Jan-86 with modifications
  3. % for DIN-A4 paper + window envelopes, by H.Partl (Wien)
  4. %
  5. % Contains also the follwoing changes for CDC: .sty and .aux are
  6. % replaced by _sty and _aux.
  7.  
  8. \typeout{Document Style `a4letter'. Version vom 7. Sept. 1987}
  9.  
  10. {\catcode`\_=12 \gdef\jobname@aux{\jobname.aux}}
  11.  
  12. \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
  13. \@namedef{ds@12pt}{\def\@ptsize{2}}
  14. \@twosidefalse
  15. \def\ds@draft{\overfullrule 5pt}
  16. % A Redefinition of OPTIONS to use '_STY' rather than '.STY'
  17. {\catcode`\_=12
  18. \gdef\@options{\let\@elt\relax
  19.     \@for\@tempa:=\@optionlist\do
  20.         {\@ifundefined{ds@\@tempa}{\xdef\@optionfiles{\@optionfiles
  21.              \@elt \@tempa.sty\relax}}{\csname ds@\@tempa\endcsname}}}%
  22. }
  23. \@options
  24.  
  25. \lineskip 1pt \normallineskip 1pt
  26. \def\baselinestretch{1}
  27.  
  28. \ifcase \@ptsize\relax
  29. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
  30. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  31. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  32. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  33. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  34. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt}
  35. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  36. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  37. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  38. 2pt}
  39. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  40. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  41. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  42. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  43. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  44. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  45. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  46. \or
  47. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  48. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  49. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  50. minus3pt}
  51. \def\small{\@setsize\small{12pt}\xpt\@xpt
  52. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  53. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  54. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  55. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  56. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  57. 2pt}
  58. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  59. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  60. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  61. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  62. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  63. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  64. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  65. \or
  66. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  67. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  68. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  69. minus3pt}
  70. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  71. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  72. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  73. minus3pt}
  74. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  75. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  76. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt}
  77. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  78. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  79. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  80. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  81. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  82. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  83. \let\Huge=\huge
  84. \fi
  85. \normalsize
  86.  
  87. % \oddsidemargin 53pt \evensidemargin 53pt \marginparwidth 90pt \marginparsep
  88. % 11pt \marginparpush 5pt
  89. %  \topmargin 27pt \headheight 12pt \headsep 45pt \footheight 12pt \footskip
  90. % 25pt
  91. % \textheight 505pt \textwidth 365pt \columnsep 10pt \columnseprule 0pt
  92. % The above values (letter.sty) are replaced by the following values:
  93. \oddsidemargin 0.1in \evensidemargin 0.1in \marginparwidth .08in \marginparsep
  94. .01in \marginparpush 5pt
  95.  \topmargin -15pt \headheight 12pt \headsep 25pt \footheight 12pt \footskip
  96. 25pt
  97. \textheight 8.9in \textwidth 6.5in \columnsep 10pt \columnseprule 0pt
  98. % (Note that these new values use all of the paper, like in Plain TeX,
  99. % but disable the writing of marginpar's.
  100. \raggedbottom
  101. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt
  102. \floatsep 12pt plus 2pt minus 2pt
  103. \textfloatsep 20pt plus 2pt minus 4pt
  104. \intextsep 12pt plus 2pt minus 2pt
  105. \dblfloatsep 12pt plus 2pt minus 2pt
  106. \dbltextfloatsep 20pt plus 2pt minus 4pt
  107. \@maxsep 20pt
  108. \@dblmaxsep 20pt
  109. \@fptop 0pt plus 1fil
  110. \@fpsep 8pt plus 2fil
  111. \@fpbot 0pt plus 1fil
  112. \@dblfptop 0pt plus 1fil
  113. \@dblfpsep 8pt plus 2fil
  114. \@dblfpbot 0pt plus 1fil
  115.  
  116.  
  117.  
  118. \newdimen\longindentation
  119. \longindentation=.5\textwidth
  120. \newdimen\indentedwidth
  121. \indentedwidth=\textwidth
  122. \advance\indentedwidth -\longindentation
  123.  
  124. % \opening is quite different from the original one:
  125. \def\opening#1{\thispagestyle{empty}
  126.  \vspace*{-0.3cm} % upper edge of window <----
  127.  \ifx\@empty\fromaddress \else
  128.     \vbox to 0pt{\vss \raggedright \fromaddress \par \bigskip}
  129.     \hrule
  130.  \fi
  131.  \vspace{5cm} % height of window <----
  132.  \vbox to 0pt{\vss \raggedright \toname \\ \toaddress \par \vss}
  133.  \ifx\@empty\fromaddress \else
  134.     \hrule
  135.  \fi
  136.  \vspace{1cm}
  137.  {\raggedleft \today \par}
  138.  \medskip
  139.  \vspace{0pt plus 1cm} % to help with page break
  140.  #1\par\nobreak}
  141.  
  142. \long\def\closing#1{\par\nobreak\vspace{\parskip}
  143.  \stopbreaks
  144.  \noindent
  145.  \ifx\@empty\fromaddress\else
  146.  \hspace*{\longindentation}\fi
  147.  \parbox{\indentedwidth}{\raggedright
  148.  \ignorespaces #1\\[6\parskip]
  149.  \ifx\@empty\fromsig
  150.  \fromname
  151.  \else \fromsig \fi\strut}
  152.  \par}
  153.  
  154. \def\ps{\par\startbreaks}
  155. \def\cc#1{\par\noindent
  156. \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces #1\strut}\par}
  157. \def\encl#1{\par\noindent
  158. \parbox[t]{\textwidth}{\@hangfrom{\rm encl: }\ignorespaces #1\strut}\par}
  159. \def\stopletter{}
  160.  
  161. \def\returnaddress{}
  162. \newcount\labelcount
  163.  
  164. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  165. \pagestyle{empty}
  166. \let\@texttop=\relax
  167. \topmargin -50pt
  168. \headsep 0pt
  169. \oddsidemargin -35pt
  170. \evensidemargin -35pt
  171. \textheight 10in
  172. \@colht\textheight \@colroom\textheight \vsize\textheight
  173. \textwidth 550pt
  174. \columnsep 25pt
  175. \xpt
  176. \baselineskip=0pt
  177. \lineskip=0pt
  178. \boxmaxdepth=0pt
  179. \twocolumn\relax}
  180. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  181.  \vbox to 2in{\vss \box0 \vss}}
  182.  
  183.  
  184.  
  185. \long\def\letter#1{\newpage
  186.  \c@page\@ne
  187.  \interlinepenalty=200 \@processto{#1}}
  188. \def\endletter{\stopletter\@@par\pagebreak\@@par
  189.  \if@filesw
  190.  \begingroup
  191.  \def\protect{\string}
  192.  \let\\=\relax
  193.  \def\protect##1{\string##1\space}
  194.  \immediate\write\@auxout{\string\mlabel{\returnaddress}{\toname
  195.  \\\toaddress}}
  196.  \endgroup
  197.  \fi}
  198. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty
  199.  \else \@yproc #1@@@\fi}
  200. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  201. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  202. \def\stopbreaks{\interlinepenalty \@M
  203.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  204.  \let\vspace\@nobreakvspace}
  205. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  206. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  207.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  208. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  209. \def\startbreaks{\let\\=\@normalcr
  210.  \interlinepenalty 200\def\par{\@@par\penalty 200}}
  211. \def\name#1{\def\fromname{#1}}
  212. \def\signature#1{\def\fromsig{#1}}
  213. \def\fromsig{}
  214. \long\def\address#1{\def\fromaddress{#1}}
  215. \def\fromaddress{}
  216. \def\location#1{\def\fromlocation{#1}}
  217. \def\fromlocation{}
  218. \def\telephone#1{\def\telephonenum{#1}}
  219. \def\telephonenum{}
  220. \def\document{\endgroup
  221.  \@colht\textheight \@colroom\textheight \vsize\textheight
  222.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  223.  \if@twocolumn \advance\columnwidth -\columnsep
  224.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
  225.  \fi
  226.  \hsize\columnwidth \linewidth\hsize
  227.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  228.  \if@filesw \immediate\openout\@mainaux=\jobname@aux
  229.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  230.  \def\do##1{\let ##1\@notprerr}
  231.  \@preamblecmds
  232.  \let\do\noexpand
  233.  \@normalsize\everypar{}}
  234. \def\enddocument{\@checkend{document}\newpage\begingroup
  235. \if@filesw \immediate\closeout\@mainaux
  236. \makeatletter\input \jobname@aux\clearpage
  237. \fi\endgroup\deadcycles\z@\@@end}
  238.  
  239. \def\makelabels{\@fileswtrue}
  240. \def\@startlabels{}
  241.  
  242.  
  243.  
  244. % \def\@texttop{\ifnum\c@page=1\vskip 0pt plus .00006fil\relax\fi}
  245. \let\@texttop=\relax
  246.  
  247. \def\ps@headings{\def\@oddhead{\sl To \ignorespaces\toname \hfil \today
  248.  \hfil Page \thepage}\def\@oddfoot{}}
  249. \def\ps@empty{\def\@oddhead{}\def\@oddfoot{}\def\@evenhead{}\def\@evenfoot{}}
  250.  
  251. \def\ps@firstpage{\def\@oddhead{}\def\@oddfoot{\raisebox
  252.  {-45pt}[0pt]{\hbox to \textwidth
  253.  {\hspace*{100pt}\xpt\fromlocation \hfill
  254. \telephonenum}}\hss}\def\@evenhead{}\def\@evenfoot{}}
  255. \def\ps@plain{\def\@oddhead{}\def\@oddfoot{\rm\hfil\thepage
  256.  \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}
  257.  
  258. \parskip .7em \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em
  259. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
  260. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  261. -\@lowpenalty
  262.  
  263.  
  264.  
  265. \leftmargini 2.5em
  266. \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em
  267. \leftmarginvi 1em
  268. \leftmargin\leftmargini
  269. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  270. \labelsep 5pt
  271. \parsep 0pt
  272. \let\@listi\relax
  273. \def\@listii{\leftmargin\leftmarginii
  274.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
  275. \def\@listiii{\leftmargin\leftmarginiii
  276.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  277.  \topsep .2em
  278.  \itemsep \topsep}
  279. \def\@listiv{\leftmargin\leftmarginiv
  280.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  281. \def\@listv{\leftmargin\leftmarginv
  282.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  283. \def\@listvi{\leftmargin\leftmarginvi
  284.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  285.  
  286. \def\labelenumi{\arabic{enumi}.}
  287. \def\theenumi{\arabic{enumi}}
  288. \def\labelenumii{(\alph{enumii})}
  289. \def\theenumii{\alph{enumii}}
  290. \def\p@enumii{\theenumi}
  291. \def\labelenumiii{\roman{enumiii}.}
  292. \def\theenumiii{\roman{enumiii}}
  293. \def\p@enumiii{\theenumi(\theenumii)}
  294. \def\labelenumiv{\Alph{enumiv}.}
  295. \def\theenumiv{\Alph{enumiv}}
  296. \def\p@enumiv{\p@enumiii\theenumiii}
  297.  
  298. \def\labelitemi{$\bullet$}
  299. \def\labelitemii{\bf --}
  300. \def\labelitemiii{$\ast$}
  301. \def\labelitemiv{$\cdot$}
  302. \def\verse{\let\\=\@centercr
  303.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent
  304.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  305. \let\endverse\endlist
  306. \def\quotation{\list{}{\listparindent 1.5em
  307.  \itemindent\listparindent
  308.  \rightmargin\leftmargin}\item[]}
  309. \let\endquotation=\endlist
  310. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  311. \let\endquote=\endlist
  312.  
  313. \def\descriptionlabel#1{\hspace\labelsep \bf #1}
  314. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  315.  \let\makelabel\descriptionlabel}}
  316. \let\enddescription\endlist
  317.  
  318.  
  319.  
  320. \def\theequation{\arabic{equation}}
  321.  
  322. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt
  323. \tabbingsep \labelsep
  324. \skip\@mpfootins = \skip\footins
  325. \fboxsep = 3pt \fboxrule = .4pt
  326.  
  327. \def\footnoterule{\kern-1\p@
  328.  \hrule width .4\columnwidth
  329.  \kern .6\p@}
  330.  
  331. \long\def\@makefntext#1{\noindent \hangindent 5pt\hbox
  332.  to 5pt{\hss $^{\@thefnmark}$}#1}
  333.  
  334.  
  335. \c@topnumber=2
  336. \def\topfraction{.7}
  337. \c@bottomnumber=1
  338. \def\bottomfraction{.3}
  339. \c@totalnumber=3
  340. \def\textfraction{.2}
  341. \def\floatpagefraction{.5}
  342. \c@dbltopnumber= 2
  343. \def\dbltopfraction{.7}
  344. \def\dblfloatpagefraction{.5}
  345.  
  346. \def\today{\ifcase\month\or
  347.  January\or February\or March\or April\or May\or June\or
  348.  July\or August\or September\or October\or November\or December\fi
  349.  \space\number\day, \number\year}
  350.  
  351.  
  352. \smallskipamount=.5\parskip \medskipamount=\parskip
  353. \bigskipamount=2\parskip
  354. \ps@plain \pagenumbering{arabic} \onecolumn \@fileswfalse
  355.  
  356.